package com.tgy.algorithm._经典题目01;

/**
 * 给定一个数组arr长度为N，你可以把任意长度大于0且小于N的前缀作为左部分，剩下的 作为右部分。
 * 但是每种划分下都有左部分的最大值和右部分的最大值，请返回最大的，左部分最大值减去右部分最大值的绝对值。
 */
public class _010_划分数组两边最大值的绝对值 {

    public static int findBothSides(int[] nums) {

        if (nums == null || nums.length == 0 || nums.length == 1) {
            return 0;
        }

        int maxValue = nums[0];
        int len = nums.length;

        for (int i = 0; i < len; i++) {
            maxValue = Math.max(maxValue,nums[i]);
        }

        return Math.max(maxValue - nums[0],maxValue - nums[len - 1]);
    }


    public static void main(String[] args) {
        int[] nums = {2,3,1,3,4,2,1,3};
        int value = findBothSides(nums);
        System.out.println(value);
    }
}
